With all this talk of rebuilding indices, the following script does it for me: #!/bin/sh pg_dump -s databasename > filename perl -pi -e 'unless (/CREATE.*INDEX/) {s/.*//;chomp;};$old=$_;' filename perl -pi.create -e 's/CREATE.*?INDEX(.*?\s)ON.*/DROP INDEX$1\;/i;' filename mv filename filename.drop psql -d databasename -c '\i filename.drop' psql -d databasename -c '\i filename.create' Of course there are bound to be a million ways of scripting this without perl, but using awk or similar. You could cron this up, of course - I don't know if regular rebuilding of indices helps minimise corruption? Yours, Moray ---------------------------------------------------------------------- ---------------- Moray.McConnachie@computing-services.oxford.ac.uk